In the present telecommunication environment, placing calls and transmitting information between telephony devices is more prevalent than ever. With the growing number of mobile telephones, communication networks have been continually striving to maintain pace with respect to cost, bandwidth, and communication quality. Call quality is a key factor for consumers when deciding which provider to subscribe to or over which network to place a phone call.
In addition to placing calls over a cellular network, consumers are also presented with the option of placing calls over a data connection via a VOIP telephony service provider. VOIP telephony service providers now give consumers more flexibility in how the consumer can place a phone call.
When a customer of an IP telephony system wishes to place a call to a destination telephony device, it is usually necessary to establish communications between a first gateway or proxy server of the IP telephony system which communicates with the customer's telephony device and a second gateway that communicates with the called or destination telephony device. The two gateways communicate with one another to setup the call between the customer's telephony device and the destination telephony device. The setup procedures may include establishing a different path through the data network that will be used to communicate data packets bearing the media of the call. For example, a media relay may be used to relay data packets bearing the media of the call back and forth between the customer's telephony device and the destination telephony device. Thus, various different elements in the data network can become involved in establishing and carrying a VOIP call.
When a new call setup request is received from a customer's telephony device by a proxy server of an IP telephony system, the proxy server typically consults a routing table to determine the identity of a proxy server or a destination gateway that is capable of establishing the call to the called, destination telephony device. The obtained information is typically an IP address of the proxy server or destination gateway, which is the information needed to contact the proxy server or destination gateway. In fact, the proxy server setting up the call may obtain a list of a plurality of IP addresses for a corresponding plurality of proxy servers or gateways that are capable of establishing the requested communication to the called telephony device. The list of IP addresses is provided in a priority order.
Once the proxy server setting up the call has a list of IP addresses of candidate proxy servers or destination gateways, the proxy server sends a call setup request to the device having the first IP address in the list, in an attempt to setup the requested call through the first candidate proxy server or destination gateway. If the first call setup attempt is unsuccessful, the proxy server setting up the call sends a second setup request to the device having the next IP address on the list. This process repeats until the call is established, or until the proxy server runs out of IP addresses to try.
Each time that a VOIP call is placed, a call detail record (CDR) is established for the call. The CDR for a call includes various items of information about the call, such as the originating telephone number, the destination telephone number, the time that the call started and ended, as well as various other items of information. Typically, the proxy server of destination gateways that are contacted to try to setup the call will forward items of information to the IP telephony system, and the IP telephony system uses that information to create a CDR for the call. Once the call is completed, the IP telephony system stores a final CDR that contains a final set of information about the call.
The information in the final CDRs is used by the IP telephony system for billing purposes, and in many cases for quality assurance and troubleshooting. The information in the CDRs may also be used to establish or adjust the routing tables that are consulted by the proxy servers setting up calls. The CDRs may also be used for various other purposes, as is well known to those of ordinary skill in the art.
A CDR for a call may include information that identifies the elements of the data network which were used to setup and carry the call. For example, a CDR may include the IP address of the proxy server or destination gateway that was responsible for setting up the call, and possibly the IP addresses of any media relays that were used to communicate data packets bearing the media of the call.
As explained above, during the initial call setup procedures, it is common for the proxy server setting up a call to make several unsuccessful call setup attempts through multiple candidate proxy servers or destination gateways before the call ultimately is established between the calling telephony device and the called telephony device. While the final CDR for the call may include information identifying the proxy server or destination gateway that ultimately setup the call, the CDR does not presently include information that can be used to determine if other candidate gateways tried and failed to setup the call before the call was ultimately successfully established by the gateway identified in the CDR.
Note, CDRs may be established for each unsuccessful call setup attempt. But the CDR which contains information about the successful attempt, when the call was actually conducted, does not include information about the previous unsuccessful setup attempts.
Thus, there is a need to provide information in CDRs that would allow an IP telephony system to determine when proxy servers and destination gateways are frequently failing to setup requested calls.